
package com.be.beadmin.design.service;

import com.be.beadmin.common.entity.PageEntity;
import com.be.beadmin.design.dto.input.StandProductProcessInfoDto;
import com.be.beadmin.design.dto.input.StandProductProcessInfoPageDto;
import com.be.beadmin.design.dto.output.StandProductProcessInfoEx;
import com.be.beadmin.design.dto.output.StandProductProcessInfoExcelEx;
import com.be.beadmin.design.entity.Process;
import com.be.beadmin.design.entity.StandProduct;
import com.be.beadmin.design.entity.StandProductProcessInfo;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @description 服务接口
* @author ljh
* @date 2023-06-13
**/
public interface StandProductProcessInfoService {




    /**
    * @param standProductProcessInfoDto
    */
    void addStandProductProcessInfo(StandProductProcessInfoDto standProductProcessInfoDto);


    /**
     *
     * @param standProduct
     * @param process
     */
    StandProductProcessInfo getStandProductProcessInfoByStandProductAndProcess(StandProduct standProduct, Process process);
    /**
    * @param standProductProcessInfoDto
    */
    void updateStandProductProcessInfo(StandProductProcessInfoDto standProductProcessInfoDto);

    /**
    * @param id
    */
    void delStandProductProcessInfo(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delStandProductProcessInfos (List<String> ids);

    /**
     * 分页的查询接口
     * @param standProductProcessInfoPageDto
     * @return
     */
    Page<StandProductProcessInfoEx> getStandProductProcessInfoByStandTypeIdAndPage(StandProductProcessInfoPageDto standProductProcessInfoPageDto);

    /**
     * 分页的查询接口
     * @param pageEntity
     * @return
     */
    Page<StandProductProcessInfoEx> getStandProductProcessInfoByPage(PageEntity pageEntity);


    List<StandProductProcessInfoExcelEx> getStandProductProcessInfoByStandTypeIds(List<String> standTypeIds);


    void  uploadStandProductProcessInfo(MultipartFile file);


}